Step Definition হল BDD (Behavior Driven Development) প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ যা ব্যবহারকারীর গল্পের ভিত্তিতে টেস্ট কেসগুলোকে কার্যকর করে। Step Definitions সাধারণত Gherkin ভাষার Given, When, এবং Then স্টেপগুলোকে বাস্তবায়ন করে এবং এটি সফটওয়্যার টেস্টিং টুলগুলির মাধ্যমে স্বয়ংক্রিয় টেস্টিংয়ে ব্যবহৃত হয়।
Step Definition লেখার পদ্ধতি
Step Definition লেখার প্রক্রিয়াটি সাধারণত নিম্নলিখিত ধাপগুলোর মাধ্যমে সম্পন্ন হয়:
1. Feature File তৈরি করুন
প্রথমে একটি .feature ফাইল তৈরি করুন যেখানে আপনি আপনার ব্যবহারকারীর গল্প এবং স্কেনারিওগুলো লিখবেন। এই ফাইলটি Gherkin ভাষায় লেখা হয়।
উদাহরণ: UserLogin.feature
Feature: User Login
Scenario: Successful Login
Given the user is on the login page
When the user enters valid credentials
Then the user should be redirected to the dashboard
2. Step Definition Class তৈরি করুন
একটি ক্লাস তৈরি করুন যেখানে আপনি আপনার Step Definitions লিখবেন। এটি সাধারণত BDD টুল (যেমন Cucumber, SpecFlow ইত্যাদি) দ্বারা পরিচালিত হয়।
3. Step Definitions লেখার প্রক্রিয়া
- প্রতিটি স্টেপের জন্য একটি মেথড তৈরি করুন যা কিভাবে সেই স্টেপটি কাজ করবে তা নির্দেশ করে।
- Gherkin ভাষায় লেখা স্টেপগুলোকে C# বা Java কোডে বাস্তবায়ন করুন।
- প্রতিটি মেথডের উপর
Given,When, এবংThenঅ্যানোটেশন যুক্ত করুন।
C# (SpecFlow) উদাহরণ:
using TechTalk.SpecFlow;
[Binding]
public class LoginSteps
{
[Given("the user is on the login page")]
public void GivenTheUserIsOnTheLoginPage()
{
// লগিন পেজে যাওয়ার কোড
Console.WriteLine("User is on the login page");
}
[When("the user enters valid credentials")]
public void WhenTheUserEntersValidCredentials()
{
// সঠিক ক্রেডেনশিয়াল প্রবেশের কোড
Console.WriteLine("User enters valid credentials");
}
[Then("the user should be redirected to the dashboard")]
public void ThenTheUserShouldBeRedirectedToTheDashboard()
{
// ড্যাশবোর্ডে পৌঁছানোর নিশ্চিতকরণ কোড
Console.WriteLine("User is redirected to the dashboard");
}
}
4. Step Definitions এবং Gherkin স্টেপের মধ্যে মিল নিশ্চিত করুন
- নিশ্চিত করুন যে আপনার Step Definitions গুলি Gherkin ভাষায় লেখা স্টেপগুলির সাথে সঠিকভাবে মিলছে।
- অ্যানোটেশন এবং স্টেপের মধ্যে কোনো অমিল থাকলে টেস্ট চলাকালীন সমস্যা হতে পারে।
5. টেস্ট চালানো
- SpecFlow বা Cucumber এর মাধ্যমে টেস্ট চালান এবং নিশ্চিত করুন যে আপনার Step Definitions সঠিকভাবে কাজ করছে।
ভালো Step Definition লেখার টিপস
- স্পষ্টতা: প্রতিটি Step Definition পরিষ্কার ও সংক্ষিপ্ত হওয়া উচিত। এটি কোনো অপ্রয়োজনীয় তথ্য ছাড়া কার্যকরীভাবে কাজ করা উচিত।
- রিইউজেবিলিটি: যদি একটি স্টেপ পুনরায় ব্যবহার করার সুযোগ থাকে তবে সেটি আলাদা Step Definition তৈরি করুন।
- কোডিং স্ট্যান্ডার্ড: ভালো কোডিং কৌশল ব্যবহার করুন। যেমন, ফাংশন নাম এবং পরিবর্তনশীল নামগুলি স্পষ্ট হওয়া উচিত।
- ডকুমেন্টেশন: গুরুত্বপূর্ণ স্টেপগুলোর জন্য মন্তব্য লিখুন, যাতে অন্যরা বুঝতে পারে কেন সেই স্টেপগুলি তৈরি করা হয়েছে।
- টেস্টিং: Step Definitions লেখার পর নিশ্চিত করুন যে এগুলি সঠিকভাবে কাজ করছে এবং প্রত্যাশিত ফলাফল দিচ্ছে।
উপসংহার
Step Definition লেখার প্রক্রিয়া BDD এর একটি গুরুত্বপূর্ণ অংশ যা ব্যবহারকারীর গল্পের ভিত্তিতে স্বয়ংক্রিয় টেস্ট তৈরি করতে সহায়ক। Gherkin ভাষায় লেখা স্টেপগুলোকে কার্যকরী কোডে রূপান্তর করতে Step Definitions ব্যবহৃত হয়। এটি একটি দলীয় সহযোগিতার সুবিধা দেয়, যেখানে ডেভেলপার, টেস্টার এবং ব্যবসায়ী অংশীদাররা একসাথে কাজ করতে পারে।
Read more